/**
 *  com.pas.iam.account.resource.NewJDialog.java
 *  Copyright (c) 2009 Pas corporation All Rights Reserved.
 */
package com.web.server.common.util;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * MD5�������
 * <p>
 * �����ṩ������ܵĹ���
 * 
 * @author  �����
 * @version Ver 1.0 2008-04-03 �½�
 * @since   PASIAM V1.0
 */
public class Md5Util {
	
	/**
	 * MD5�㷨
	 * <p>
	 * ʵ�ֶ�����ļ���
	 * 
	 * @param  original String ��������
	 * @author �����
	 * @return String ���ܺ������
	 * @since  PASIAM V1.0
	 */
    public static String getPassword(String original){
    	
        // 16��������
        char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
        
        // ��ȡ���ĵ�byteֵ
        byte[] strTemp = original.getBytes();

        // ����MD5����
        MessageDigest mdTemp = null;
        try
        {
            mdTemp = MessageDigest.getInstance("MD5");
        } 
        catch (NoSuchAlgorithmException e)
        {
            e.printStackTrace();
        }
        mdTemp.update(strTemp);

        byte[] md = mdTemp.digest();

        char str[] = new char[md.length * 2];

        for (int i = 0, k = 0; i < md.length; i++)
        {
            byte byte0 = md[i];
            str[k++] = hexDigits[byte0 >>> 4 & 0xf];
            str[k++] = hexDigits[byte0 & 0xf];
        }

        return new String(str);
    }
    
    public static void main(String[] args) {
	  System.out.println(Md5Util.getPassword(("123654789")));	
    }
}
